/**
 * 서비스를 시작하는 모듈이다.
 * server 디렉토리 밑의 server 모듈을 실행시킨다.
 *
 * @author : John_Kim <cale9797@gmail.com>
 * @date   : 2014. 4. 1.
 */

require('coffee-script');

// lib 안에 있는 index 모듈만 추가하면 index 모듈이 lib 안에 있는 모듈들을 추가해줌
module.exports = require('./lib/index');

// HTTP SERVER 시작
var server = require("./server/server");

// ROUTER 선언
var router = require("./server/router");

// REQUEST HANDLER 선언
var requestHandlers = require("./server/requestHandlers");

// HANDLER MAPPING 정의.  요청에 대해 핸들어의 어떤 함수가 응답할지에 대한 정보를 핸들 맵에 저장후 router 를 통해 분배 .  요청 주소와 응답할 함수를 맵핑하여 저장
var handle = {}
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;8
handle["/insert"] = requestHandlers.insert;
//handle["/select"] = requestHandlers.select;
handle["/insertRSSToDB"] = requestHandlers.insertRSSToDB;

/*
 *  server의 start 함수를 실행.
 *    router.js 의 route 함수를 파라미터로 넘김
 *    요청과 응답할 함수를 맵핑한 핸들 객체도 함께 넘김.
 *    서버에서 처리
 */
server.start(router.route, handle);